In systems that process sampled data, such as pixel values of a video stream, or audio sample values of an audio stream, it is usually advantageous that the rate of presentation of sample values to the process is maintained at a highly stable value. Interface specifications such as the IEC 60958 standard for digital audio, and the ITU-R Recommendation 656 for digital video, have tight specifications for both the sample rate and its short-term variation or ‘jitter’.
However, when routing data between different sources and destinations, it is often convenient to route samples via a time-division multiplex that operates at a rate that is not precisely coupled to the required sample rate of the data that is routed. For example, different types of data may be combined in a common multiplex. And, ‘packet-based’ routing systems will not deliver data at a constant rate.
There is thus a need for methods of re-timing a stream of sample values for data that maintain the sample rate at a constant value that is the average of a varying input sample rate. And, because different sample rates may be used for the same type of data, for example different audio sampling rates, it is advantageous for the re-timing method to adapt quickly to a new average input rate when the average input sample rate changes.